package com.suning.sawp.intf.promotion;


import com.suning.sawp.dto.aircondition.CouponReq;
import com.suning.sawp.dto.esb.CouponRuleQueryRtn;
import com.suning.sawp.dto.esb.QryActDetailNewRsp;
import com.suning.sawp.dto.esb.QryActDetailRsp;
import com.suning.sawp.dto.esb.QryCouponListRsp;
import com.suning.sawp.dto.esb.QueryCouponRtn;
import com.suning.sawp.dto.esb.SendCouponRtn;
import com.suning.sawp.po.promotion.ValidActivity;

/**
 * 
 * 促销中心券操作接口<br> 
 * 〈功能详细描述〉
 *
 * @author Wuxiao
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface PromotionCouponService {
    /**
     * 
     * 功能描述: 查询券详情<br>
     * 〈功能详细描述〉
     *
     * @param activityId 活动Id
     * @param custNo 会员编码
     * @param activitySecretKey  活动秘钥
     * @param cityId 城市Id
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    QueryCouponRtn queryCouponDetail(String activityId,String custNo,String activitySecretKey,String cityId, ValidActivity activity);
    
    QueryCouponRtn queryCouponDetail(String activityId,String bonusTrigerId,String custNo,String activitySecretKey,String cityId, ValidActivity activity);
    
    /**
     * 
     * 功能描述: 促销中心发券接口<br>
     * 〈功能详细描述〉
     *
     * @param activityId 活动编码
     * @param custNo 会员编码
     * @param activitySecretKey 秘钥
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    SendCouponRtn sendCoupon(String activityId,String cityId,String custNo,String activitySecretKey,String bonusTrigerId,ValidActivity activity,String offLineOrderId);
    
    /**
     * 
     * 功能描述: 查询券规则名称<br>
     * 〈功能详细描述〉
     *
     * @param ruleId 券规则Id
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    CouponRuleQueryRtn queryCouponRuleDetail(String ruleId);
    
    /**
     * 
     * 功能描述: <br>
     * 〈功能详细描述〉
     *
     * @param cityId
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    QryActDetailRsp queryProActivityList(String cityId,Integer couponResource,String storeCode);
    
    
    QryActDetailRsp queryProActivityList(String cityId, String bonusTrigerId,Integer couponRescource,String storeCode);
    
    /**
     * 查询活动列表的名称 ID 和 券规则编码
     * 功能描述: <br>
     * 〈功能详细描述〉
     *
     * @param cityId
     * @param couponResource
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    QryActDetailNewRsp queryProActivityListNew(String cityId,Integer couponResource,String storeCode);
    
    /**
     * 查询活动列表的名称 ID 和 券规则编码
     * 功能描述: <br>
     * 〈功能详细描述〉
     *
     * @param cityId
     * @param bonusTrigerId
     * @param couponRescource
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    QryActDetailNewRsp queryProActivityListNew(String cityId, String bonusTrigerId,Integer couponRescource,String storeCode);

    /**
     * 用商品查询券列表ESB接口
     * 功能描述: <br>
     * 〈功能详细描述〉
     *
     * @param couponReq
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    QryCouponListRsp queryCouponByCommList(CouponReq couponReq);
}
